using System.Collections.Generic;
using RollManager.Library.Utils;

namespace RollManager.Library
{
    partial class Database
    {
        public static SubAction AddSubAction( string name, int actionId, int serverGroupId, Permission permission )
        {
            return runMapper<SubAction>( "AddSubAction", name, actionId, serverGroupId, Common.UserId, (int) permission )[ 0 ];
        }

        public static void CopySubAction( int subActionId, string name, int actionId, int serverGroupId )
        {
            runQuery( "CopySubAction", subActionId, name, actionId, serverGroupId, Common.UserId );
        }

        public static void DeleteSubAction( int id )
        {
            runQuery( "DeleteSubAction", id );
        }

        public static List<SubAction> GetSubActions( int actionId )
        {
            return runMapper<SubAction>( "GetSubActions", actionId, Common.UserId );
        }

        public static List<SubAction> GetSubActionsByServerGroup( int serverGroupId )
        {
            return runMapper<SubAction>( "GetSubActionsByServerGroup", serverGroupId, Common.UserId );
        }

        public static void SaveSubAction( SubAction s )
        {
            runQuery( "SaveSubAction", s.Id, s.ServerGroupId, s.Name, s.Steps, s.OwnerId, s.PermissionId );
        }
    }
}
